FIG. 1 is a flow chart illustrating a developing process of software components in a conventional software components developing system. Referring to FIG. 1, the developing process of software components in the software component developing system will be described as follows.
First, a domain modeling is performed by using a UML (Unified Modeling Language) technique in order to precisely understand a system of a development object. Through this domain modeling process, a use-case model and an object model are created respectively (step S10 and step S20).
Also, a component, which is highly reusable and separately performable, is identified based on information of the use-case model and the object model (step S30).
Then, a detailed design is made with a description of independency between an interface provided by each component through a component diagram and other components (step S40). That is, a separate development of each component is possible if the interface of the component diagram is maintained. Thus, a binary component code is created through the detailed design and an implementation process of each component in parallel.
The most essential part of a method for a software components development lies in identifying components. In a process of identifying components, parts that are satisfied with reusability, independency and maintenance, which are characteristics of components are selected based on characteristics of a domain where a system belongs to and domain information. However, since there are non-measuring elements in domain information and an evaluation criterion of reusability and independency is not definite, the component identification is mainly relied upon intuition based on experiences of a domain expert.
So far, a technique for identifying components, as a heuristic, makes a group of components by binding highly related objects based on object relation information shown in an object model. In this technique, there are several methods: a method for identifying components on the basis of one operational thread considering a controlling flow shown in a flow chart of a use-case in terms of an operation process design, a method for identifying as one component by binding classes related on a use-case basis, a method for binding identified parts by sub-system in a software architecture level as components.
These methods identify components considering only one specific view among information of several views such as an object view created through a domain modeling process, a process view, and an architecture view. In these methods, there are generated various results depending on people who apply it, since a suggested standard to identify components is obscure. Besides, since a component is identified considering only one view among views such as a relation between objects, a use-case view, and an architecture view, reusability becomes difficult in a developing method of components, wherein the reusability is important in developing method of components.